package com.ych.modules.base.dbEntity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Author: Usopp.tsui
 * Date: 2020/12/21
 * Time: 14:09
 * Description:
 */
@Data
@TableName("t_user_item")
@ApiModel(value = "TUserItemEntity", description = "数据库-用户发布项目表")
public class TUserItemEntity extends AbstractPageEntity {
    @TableId(value = "item_id")
    @ApiModelProperty(value = "主键", dataType = "String", notes = "主键")
    private String itemId;

    @TableField("user_id")
    @ApiModelProperty(value = "项目发布者用户id", dataType = "String", notes = "项目发布者用户id")
    private String userId;

    @TableField("item_name")
    @ApiModelProperty(value = "项目名称", dataType = "String", notes = "项目名称")
    private String itemName;

    @TableField("item_detail")
    @ApiModelProperty(value = "项目详情描述", dataType = "String", notes = "项目详情描述")
    private String itemDetail;

    @TableField("view_count")
    @ApiModelProperty(value = "浏览次数 默认：0", dataType = "Integer", notes = "浏览次数 默认：0")
    private Integer viewCount;

    @TableField("concern_count")
    @ApiModelProperty(value = "关注数", dataType = "Integer", notes = "关注数")
    private Integer concernCount;

    @TableField("create_time")
    @ApiModelProperty(value = "发布时间", dataType = "Date", notes = "发布时间")
    private Date createTime;

    @TableField("is_recommend")
    @ApiModelProperty(value = "是否为推荐项目 0：是 1：否 默认：1", dataType = "String", notes = "是否为推荐项目 0：是 1：否 默认：1")
    private String isRecommend;

    @TableField("item_type")
    @ApiModelProperty(value = "项目类型，码值", dataType = "String", notes = "项目类型，码值")
    private String itemType;

    @TableField("mobile")
    @ApiModelProperty(value = "联系电话", dataType = "String", notes = "联系电话")
    private String mobile;

    @TableField("wechat_no")
    @ApiModelProperty(value = "微信号", dataType = "String", notes = "微信号")
    private String wechatNo;

    @TableField("item_status_type")
    @ApiModelProperty(value = "项目进度状态 码值：10007001待提交，10007002待审核，10007003已通过", dataType = "String", notes = "项目进度状态 码值：10007001待提交，10007002待审核，10007003已通过")
    private String itemStatusType;

    @TableField("status")
    @ApiModelProperty(value = "状态 0：正常 1：禁用", dataType = "String", notes = "状态 0：正常 1：禁用")
    private String status;

    @TableField("pay_amount")
    @ApiModelProperty(value = "支付金币数量。默认：0", dataType = "String", notes = "支付金币数量。默认：0")
    private BigDecimal payAmount;

    @TableField("recharge_status_type")
    @ApiModelProperty(value = "支付订单状态码值", dataType = "String", notes = "支付订单状态码值")
    private String rechargeStatusType;

    @TableField("item_tag_type")
    @ApiModelProperty(value = "项目标签，最多两个，逗号分隔。  码值", dataType = "String", notes = "项目标签，最多两个，逗号分隔。  码值")
    private String itemTagType;

    @TableField(exist = false)
    @ApiModelProperty(value = "项目标签，最多两个,码值", dataType = "List<String>", notes = "项目标签，最多两个,码值")
    private List<String> itemTagTypeList;

    @TableField(exist = false)
    @ApiModelProperty(value = "详情图片集合，码值10008003", dataType = "List<String>", notes = "详情图片集合")
    private List<String> detailImgList;

    @TableField(exist = false)
    @ApiModelProperty(value = "头图，界面展示图，码值10008002", dataType = "String", notes = "头图，界面展示图")
    private String headImg;

    @TableField(exist = false)
    @ApiModelProperty(value = "点赞数", dataType = "Integer", notes = "点赞数")
    private Integer likeCount;

    @TableField(exist = false)
    @ApiModelProperty(value = "当前用户是否点赞 0：是 1：否 ", dataType = "Integer", notes = "当前用户是否点赞  0：是 1：否")
    private String isLike = "1";

    @TableField(exist = false)
    @ApiModelProperty(value = "当前用户是否关注  0：是 1：否 ", dataType = "Integer", notes = "当前用户是否关注  0：是 1：否")
    private String isConcern = "1";

    @TableField(exist = false)
    @ApiModelProperty(value = "用户名称", dataType = "String", notes = "用户名称")
    private String userName;

    @TableField(exist = false)
    @ApiModelProperty(value = "头像url地址", dataType = "String", notes = "头像url地址")
    private String userHeadUrl;
}
